346E - Doodle Jump - CodeForces Solution


math number theory *3000

Please click on ads to support us..

C++ Code:

#include<bits/stdc++.h>
using namespace std;
int T,a,n,p,h;
int calc(int a,int n,int p){
	int x=1ll*a*n/p;
	if (!x) return a>p-a*n?a:p-a*n;
	return calc(a-p%a,x-(1ll*a*n%p<(p/a-1)*a),a);
}
int main(){
	scanf("%d",&T);
	while(T--){
		scanf("%d%d%d%d",&a,&n,&p,&h); a%=p;
		printf("%s\n",((1ll*a*n<p?a:calc(a,n,p))>h)?"NO":"YES");
	}
}
	   		 		  				    		 		  		  	


Comments

Submit
0 Comments
More Questions

1374A - Required Remainder
1265E - Beautiful Mirrors
1296A - Array with Odd Sum
1385A - Three Pairwise Maximums
911A - Nearest Minimums
102B - Sum of Digits
707A - Brain's Photos
1331B - Limericks
305B - Continued Fractions
1165B - Polycarp Training
1646C - Factorials and Powers of Two
596A - Wilbur and Swimming Pool
1462B - Last Year's Substring
1608B - Build the Permutation
1505A - Is it rated - 2
169A - Chores
765A - Neverending competitions
1303A - Erasing Zeroes
1005B - Delete from the Left
94A - Restoring Password
1529B - Sifid and Strange Subsequences
1455C - Ping-pong
1644C - Increase Subarray Sums
1433A - Boring Apartments
1428B - Belted Rooms
519B - A and B and Compilation Errors
1152B - Neko Performs Cat Furrier Transform
1411A - In-game Chat
119A - Epic Game
703A - Mishka and Game